       IDENTIFICATION DIVISION.
       PROGRAM-ID. SUBPGM.
      
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT CLIENTE ASSIGN TO 'C:\CLIENTES.DAT'
				ORGANIZATION IS INDEXED
				ACCESS MODE IS RANDOM
				RECORD KEY IS COD-CLI
				ALTERNATE RECORD KEY IS NOMBRE-CLI
                            FILE STATUS IS WS-FS-CLI.
      
       DATA DIVISION.
       FILE SECTION.
       FD CLIENTE		LABEL RECORD IS STANDARD
					DATA RECORD IS REG-CLI.
       01  REG-CLI.
	    05 COD-CLI PIC 9(8).
	    05 NOMBRE-CLI PIC X(30).
	    05 DIRECCION-CLI PIC X(30).
	    05 TELEFONO-CLI PIC X(15).
	    05 FECHA-NAC-CLI PIC X(10).
	    05 OCUPACION-CLI PIC X(20).
	
       WORKING-STORAGE SECTION.
        01 WS-FS-CLI   PIC X(2).
            88 OK      VALUE '00'.
            88 NO-ENC VALUE '23'.
            88 EOF     VALUE '10'.
	   
       LINKAGE SECTION.
       01 LK-COD-OPER 	PIC X(6).
       01 LK-CLI.
	   	  05 LK-CLI-COD PIC 9(8).
		  05 LK-CLI-NOMBRE PIC X(30).
		  05 LK-CLI-DIRECCION PIC X(30).
		  05 LK-CLI-TELEFONO PIC X(15).
		  05 LK-CLI-FECHA-NAC PIC X(10).
		  05 LK-CLI-OCUPACION PIC X(20).
       01 LK-COD-RET PIC X(6).

       PROCEDURE DIVISION USING
	                  LK-COD-OPER, LK-CLI, LK-COD-RET.
       SUBPPAL.
		INITIALIZE LK-COD-RET.
		   IF LK-COD-OPER = 'ABRIR ' THEN
			   PERFORM 411000-ABRIR-CLIENTE
		   END-IF
		   IF LK-COD-OPER = 'LEER N' THEN
			   PERFORM 421000-LEER-NOM-CLI
		   END-IF
		   IF LK-COD-OPER = 'LEER C' THEN
			   PERFORM 421000-LEER-COD-CLI
		   END-IF		   
		   
		   IF LK-COD-OPER = 'CERRAR' THEN
			   PERFORM 941000-CERRAR-CLIENTE
		   END-IF
		   GOBACK.

	411000-ABRIR-CLIENTE.
	       OPEN INPUT CLIENTE.
		IF WS-FS-CLI NOT = '00' AND '10'
		   DISPLAY 'ERROR EN OPEN, FS: ' WS-FS-CLI
		   STOP RUN
		ELSE
		   IF OK THEN
		      MOVE 'OK' TO LK-COD-RET
		   END-IF
		END-IF.
		
       421000-LEER-NOM-CLI.
		   MOVE LK-CLI-NOMBRE TO NOMBRE-CLI
		   READ CLIENTE RECORD KEY IS NOMBRE-CLI
		   IF OK THEN
				MOVE REG-CLI TO LK-CLI
				MOVE 'OK' TO LK-COD-RET
		   ELSE
		       IF NO-ENC THEN
				MOVE 'NO-ENC' TO LK-COD-RET
				DISPLAY 'NOMBRE NO ENCONTRADO'
			ELSE
			    IF EOF THEN
				DISPLAY 'FIN DE ARCHIVO CLIENTES'
			    END-IF
			    MOVE SPACES TO LK-COD-RET
			END-IF
		   END-IF.
		   
       421000-LEER-COD-CLI.
		   MOVE LK-CLI-COD TO COD-CLI
		   READ CLIENTE
		   IF OK THEN
				MOVE REG-CLI TO LK-CLI
				MOVE 'OK' TO LK-COD-RET
		   ELSE
		       IF NO-ENC THEN
				MOVE 'NO-ENC' TO LK-COD-RET
				DISPLAY 'NOMBRE NO ENCONTRADO'
			ELSE
			    IF EOF THEN
				DISPLAY 'FIN DE ARCHIVO CLIENTES'
			    END-IF
			    MOVE SPACES TO LK-COD-RET
			END-IF
		   END-IF.      
		   
       941000-CERRAR-CLIENTE.
           CLOSE CLIENTE.